The Orc Programming Language
نویسندگان
چکیده
Orc was originally presented as a process calculus. It has now evolved into a full programming language, which we describe in this paper. The language has the structure and feel of a functional programming language, yet it handles many non-functional aspects effectively, including spawning of concurrent threads, time-outs and mutable state. We first describe the original concurrency combinators of the process calculus. Next we describe a small functional programming language that forms the core language. Then we show how the concurrency combinators of the process calculus and the functional core language are integrated seamlessly. The resulting language and its supporting libraries have proven very effective in describing typical concurrent computations; we demonstrate how several practical concurrent programming problems are easily solved in Orc.
منابع مشابه
Orchestration in Orc: A Deterministic Distributed Programming Model
Orc is a new model of distributed programming which provides a strong theoretical foundation for internet computing based on compositions of web-services. Orc combines some of the power and flexibility of process algebra with the simplicity and determinism of synchronous programming models. We present an operational semantics of Orc and prove some laws analogous to those of Kleene algebra. We v...
متن کاملA Language for Task Orchestration and Its Semantic Properties
Orc is a new language for task orchestration, a form of concurrent programming with applications in workflow, business process management, and web service orchestration. Orc provides constructs to orchestrate the concurrent invocation of services – while managing timeouts, priorities, and failure of services or communication. In this paper, we show a trace-based semantic model for Orc, which in...
متن کاملSecure Information Flow in the Orc Concurrent Programming Language Project Report
Orc is a concurrent, functional-like programming language. We extend Orc’s type system with secure typing, to control the flow of information through programs according to a security policy. This policy is encoded in a lattice of labels that can be applied to values. The partial order of labels specifies the allowed information flows. The impact of Orc’s design and of concurrency in general are...
متن کاملA timed semantics of Orc
Orc is a kernel language for structured concurrent programming. Orc provides three powerful combinators that define the structure of a concurrent computation. These combinators support sequential and concurrent execution, and concurrent execution with blocking and termination. Orc is particularly well-suited for task orchestration, a form of concurrent programming with applications in workflow,...
متن کاملVerification of Computation Orchestration Via Timed Automata
Recently, a promising programming model called Orc has been proposed to support a structured way of orchestrating distributed web services. Orc is intuitive because it offers concise constructors to manage concurrent communication, time-outs, priorities, failure of sites or communication and so forth. The semantics of Orc is also precisely defined. However, there is no verification tool availab...
متن کامل